____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―
Substitutionsmethode
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
top
Mittels der Substitutionsmethode fΓΌr Rekurrenzen lΓ€sst sich eine untere Schranke bzw. obere Schranke des (Rechen-)Aufwandes einer Rekursion bestimmen.
Contents
β’ Beispiel
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Beschreiben der Methode
Gegeben sei eine Rekursion T(n) der Form T(n) = aβ
T(n/b) + f(n). Um eine obere Schranke zu ermitteln, schΓ€tzt man diese zuerst mittels Ξ-KalkΓΌl ab. Unter AbschΓ€tzen versteht man βgeschicktes Ratenβ. AnschlieΓend wird die Vermutung mit Hilfe von Substitution bewiesen bzw. widerlegt. Analog ist das Vorgehen zur Bestimmung der unteren Schranke.
1. Vermutung(1): T(n) β€ cβ
g(n), mit c > 0 bzw. T(n) β Ξ(g(n)) (nach Definition des Ξ-KalkΓΌls)
2. Annahme(2): Tsub(n/b) β€ cβ
g(n/b)
3. Substitution durch Einsetzen der Annahme in die Rekurrenz: T(n) β€ aβ
Tsub(n/b) + f(n) bzw. T(n) β€ aβ
(cβ
g(n/b)) + f(n)
4. Genaues(3) Umformens zu: T(n) β€ cβ
g(n) β Falls dies nicht mΓΆglich ist, so war entweder die Vermutung oder die Annahme(2) falsch.
5. Beweis von T(n) β€ cβ
g(n) durch Induktion β T(n) β Ξ(g(n))
Beispiel
β’ Beispiel (1): T ( n ) = 2 T ( β n 4 β ) + 8 T ( β n 16 β ) + n {\displaystyle T(n)=2T\left(\left\lfloor {\frac {n}{4}}\right\rfloor \right)+8T\left(\left\lfloor {\frac {n}{16}}\right\rfloor \right)+n}
1. Vermutung: T ( n ) β β O ( n ln β‘ β‘ ( n ) ) βΉ βΉ T ( n ) β€ β€ c β
β
n ln β‘ β‘ ( n ) {\displaystyle T(n)\in O(n\ln(n))\Longrightarrow T(n)\leq c\cdot n\ln(n)}
2. Annahme: T s u b 1 ( n 4 ) β€ β€ c β
β
( n 4 ) ln β‘ β‘ ( n 4 ) {\displaystyle T_{sub1}\left({\frac {n}{4}}\right)\leq c\cdot \left({\frac {n}{4}}\right)\ln \left({\frac {n}{4}}\right)} und T s u b 2 ( n 16 ) β€ β€ c β
β
( n 16 ) ln β‘ β‘ ( n 16 ) {\displaystyle T_{sub2}\left({\frac {n}{16}}\right)\leq c\cdot \left({\frac {n}{16}}\right)\ln \left({\frac {n}{16}}\right)}
3. Substitution: T ( n ) β€ β€ 2 β
β
T s u b 1 ( n 4 ) + 8 T s u b 2 ( n 16 ) + n {\displaystyle T(n)\leq 2\cdot T_{sub1}\left({\frac {n}{4}}\right)+8T_{sub2}\left({\frac {n}{16}}\right)+n}
4. Umformen: = 2 ( c β
β
( n 4 ) ln β‘ β‘ ( n 4 ) ) + 8 ( c β
β
( n 16 ) ln β‘ β‘ ( n 16 ) ) + n {\displaystyle =2\left(c\cdot \left({\frac {n}{4}}\right)\ln \left({\frac {n}{4}}\right)\right)+8\left(c\cdot \left({\frac {n}{16}}\right)\ln \left({\frac {n}{16}}\right)\right)+n} = c β
β
n 2 ( ln β‘ β‘ ( n ) β β ln β‘ β‘ ( 4 ) ) + c β
β
n 2 ( ln β‘ β‘ ( n ) β β ln β‘ β‘ ( 16 ) ) + n {\displaystyle =c\cdot {\frac {n}{2}}\left(\ln(n)-\ln(4)\right)+c\cdot {\frac {n}{2}}\left(\ln(n)-\ln(16)\right)+n} = c β
β
n 2 ( 2 ln β‘ β‘ ( n ) β β ln β‘ β‘ ( 4 ) β β ln β‘ β‘ ( 16 ) ) + n {\displaystyle =c\cdot {\frac {n}{2}}\left(2\ln(n)-\ln(4)-\ln(16)\right)+n} = c β
β
n ln β‘ β‘ ( n ) β β c β
β
n 2 ( ln β‘ β‘ ( 4 ) + ln β‘ β‘ ( 16 ) ) + n {\displaystyle =c\cdot n\ln(n)-c\cdot {\frac {n}{2}}\left(\ln(4)+\ln(16)\right)+n} β€ β€ c β
β
n ln β‘ β‘ ( n ) {\displaystyle \leq c\cdot n\ln(n)} mit c β₯ β₯ 2 ln β‘ β‘ ( 4 ) + ln β‘ β‘ ( 16 ) = 2 ln β‘ β‘ ( 64 ) {\displaystyle c\geq {\frac {2}{\ln(4)+\ln(16)}}={\frac {2}{\ln(64)}}}
5. Induktion: I.A.: n = 2 : T ( 2 ) = 2 β€ β€ c β
β
2 ln β‘ β‘ ( 2 ) = {\displaystyle n=2:\quad T(2)=2\leq c\cdot 2\ln(2)=} mit c β₯ β₯ ln β β 1 β‘ β‘ ( 2 ) β β 1,443 {\displaystyle c\geq \ln ^{-1}(2)\approx 1{,}443} I.V.: T ( n ) β€ β€ c β
β
n ln β‘ β‘ ( n ) {\displaystyle T(n)\leq c\cdot n\ln(n)} fΓΌr n β₯ β₯ n 0 {\displaystyle n\geq n_{0}} I.S.: n β n + 1: Da man fΓΌr ein n0 gezeigt hat, dass T(n) β€ cβ
nβ
ln(n) korrekt ist, stimmt die Vermutung. (Es zeigt sich, dass eine Konstante c β₯ 1,443 ausreicht.)
Damit folgt fΓΌr T(n): T ( n ) β β O ( n ln β‘ β‘ ( n ) ) {\displaystyle T(n)\in O(n\ln(n))}
β’ Beispiel (2): T ( n ) = 8 T ( n 2 ) + n 3 ln β‘ β‘ ( n ) {\displaystyle T(n)=8T\left({\frac {n}{2}}\right)+n^{3}\ln(n)}
Siehe zu demselben Beispiel auch die AufwandsabschΓ€tzung mit dem Ξ-KalkΓΌl im Artikel zum Mastertheorem.
1. Vermutung: T ( n ) β β O ( n 3 ln 2 β‘ β‘ ( n ) ) βΉ βΉ T ( n ) β€ β€ c β
β
n 3 ln 2 β‘ β‘ ( n ) {\displaystyle T(n)\in O\left(n^{3}\ln ^{2}(n)\right)\Longrightarrow T(n)\leq c\cdot n^{3}\ln ^{2}(n)}
2. Annahme: T s u b ( n 2 ) = c β
β
( n 2 ) 3 ln 2 β‘ β‘ ( n 2 ) β β t ( n ) {\displaystyle T_{sub}\left({\frac {n}{2}}\right)=c\cdot \left({\frac {n}{2}}\right)^{3}\ln ^{2}\left({\frac {n}{2}}\right)-t(n)} mit t ( n ) = b β
β
ln 2 β‘ β‘ ( 2 ) ( n 2 ) 3 {\displaystyle t(n)=b\cdot \ln ^{2}(2)\left({\frac {n}{2}}\right)^{3}} und b > 0 {\displaystyle b>0}
3. Substitution: T ( n ) β€ β€ 8 T s u b ( n 2 ) + n 3 ln β‘ β‘ ( n ) {\displaystyle T(n)\leq 8T_{sub}\left({\frac {n}{2}}\right)+n^{3}\ln(n)}
4. Umformen: = 8 ( c β
β
( n 2 ) 3 ln 2 β‘ β‘ ( n 2 ) β β b β
β
ln 2 β‘ β‘ ( 2 ) ( n 2 ) 3 ) + n 3 ln β‘ β‘ ( n ) {\displaystyle =8\left(c\cdot \left({\frac {n}{2}}\right)^{3}\ln ^{2}\left({\frac {n}{2}}\right)-b\cdot \ln ^{2}(2)\left({\frac {n}{2}}\right)^{3}\right)+n^{3}\ln(n)} = c β
β
n 3 ln 2 β‘ β‘ ( n 2 ) β β b β
β
ln 2 β‘ β‘ ( 2 ) n 3 + n 3 ln β‘ β‘ ( n ) {\displaystyle =c\cdot n^{3}\ln ^{2}\left({\frac {n}{2}}\right)-b\cdot \ln ^{2}(2)n^{3}+n^{3}\ln(n)} = c β
β
n 3 ( ln β‘ β‘ ( n ) β β ln β‘ β‘ ( 2 ) ) β
β
( ln β‘ β‘ ( n ) β β ln β‘ β‘ ( 2 ) ) β β b β
β
ln 2 β‘ β‘ ( 2 ) n 3 + n 3 ln β‘ β‘ ( n ) {\displaystyle =c\cdot n^{3}\left(\ln(n)-\ln(2)\right)\cdot \left(\ln(n)-\ln(2)\right)-b\cdot \ln ^{2}(2)n^{3}+n^{3}\ln(n)} = c β
β
n 3 ( ln 2 β‘ β‘ ( n ) β β 2 ln β‘ β‘ ( 2 ) ln β‘ β‘ ( n ) + ln 2 β‘ β‘ ( 2 ) ) β β b β
β
ln 2 β‘ β‘ ( 2 ) n 3 + n 3 ln β‘ β‘ ( n ) {\displaystyle =c\cdot n^{3}\left(\ln ^{2}(n)-2\ln(2)\ln(n)+\ln ^{2}(2)\right)-b\cdot \ln ^{2}(2)n^{3}+n^{3}\ln(n)} = c β
β
n 3 ln 2 β‘ β‘ ( n ) β β c β
β
n 3 2 ln β‘ β‘ ( 2 ) ln β‘ β‘ ( n ) + c β
β
n 3 ln 2 β‘ β‘ ( 2 ) β β b β
β
ln 2 β‘ β‘ ( 2 ) n 3 + n 3 ln β‘ β‘ ( n ) {\displaystyle =c\cdot n^{3}\ln ^{2}(n)-c\cdot n^{3}2\ln(2)\ln(n)+c\cdot n^{3}\ln ^{2}(2)-b\cdot \ln ^{2}(2)n^{3}+n^{3}\ln(n)} = c β
β
n 3 ln 2 β‘ β‘ ( n ) β β c β
β
n 3 2 ln β‘ β‘ ( 2 ) ln β‘ β‘ ( n ) + n 3 ln β‘ β‘ ( n ) β β b β
β
ln 2 β‘ β‘ ( 2 ) n 3 + c β
β
n 3 ln 2 β‘ β‘ ( 2 ) {\displaystyle =c\cdot n^{3}\ln ^{2}(n)-c\cdot n^{3}2\ln(2)\ln(n)+n^{3}\ln(n)-b\cdot \ln ^{2}(2)n^{3}+c\cdot n^{3}\ln ^{2}(2)} = c β
β
n 3 ln 2 β‘ β‘ ( n ) + n 3 ln β‘ β‘ ( n ) β
β
( 1 β β c β
β
2 ln β‘ β‘ ( 2 ) ) β β c β₯ β₯ 1 2 ln β‘ β‘ ( 2 ) + n 3 ln 2 β‘ β‘ ( 2 ) β
β
( c β β b ) β β b β₯ β₯ c {\displaystyle =c\cdot n^{3}\ln ^{2}(n)+{\begin{matrix}\underbrace {n^{3}\ln(n)\cdot (1-c\cdot 2\ln(2))} \\{}^{\rm {c\geq {\frac {1}{2\ln(2)}}}}\\[-4.5ex]\end{matrix}}+{\begin{matrix}\underbrace {n^{3}\ln ^{2}(2)\cdot (c-b)} \\{}^{\rm {\ b\geq c}}\\[-4.5ex]\end{matrix}}}
β€ β€ c β
β
n 3 ln 2 β‘ β‘ ( n ) {\displaystyle \leq c\cdot n^{3}\ln ^{2}(n)} mit b β₯ β₯ c β₯ β₯ 2 ln β β 1 β‘ β‘ ( 2 ) {\displaystyle \ b\geq c\geq 2\ln ^{-1}(2)}
5. Induktion: I.A.: n = 2 : T ( 2 ) β β 5 , 5 β€ β€ c β
β
2 3 ln 2 β‘ β‘ ( 2 ) {\displaystyle n=2:\quad T(2)\approx 5{,}5\leq c\cdot 2^{3}\ln ^{2}(2)} mit c β₯ β₯ 1 {\displaystyle c\geq 1} I.V.: T ( n ) β€ β€ c β
β
n 3 ln 2 β‘ β‘ ( n ) {\displaystyle T(n)\leq c\cdot n^{3}\ln ^{2}(n)} fΓΌr n β₯ β₯ n 0 {\displaystyle n\geq n_{0}} I.S.: n β n + 1: Da man fΓΌr ein n0 gezeigt hat, dass T(n) β€ cβ
n3ln2(n) korrekt ist und c eine beliebig groΓe Konstante sein darf, stimmt die Vermutung. (Eine Konstante c β₯ 4 ist hinreichend groΓ fΓΌr alle n.)
Damit folgt fΓΌr T(n): T ( n ) β β O ( n 3 ln 2 β‘ β‘ ( n ) ) {\displaystyle T(n)\in O(n^{3}\ln ^{2}(n))}